home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / util / arc / PPCxDMSWOS.lha / xdms.txt < prev   
Text File  |  1998-02-17  |  14KB  |  312 lines

  1.  
  2.  
  3.     xDMS 1.0   Released in 17-Feb-98
  4.  
  5.  
  6. Introduction:
  7. -------------
  8.  
  9.     Some time ago I started using UAE and Fellow Amiga emulators in the PC,
  10. while  still  using  my Amiga.  Both emulators are very nice, and I started
  11. testing  some  of my old games and demos on it.  But a thing annoyed me.  I
  12. have  a  number of CDs with demos and other software, with hundreds of disk
  13. images  compressed  with DMS.  DMS was always the Amiga 'de facto' standard
  14. for  storing copies of non-dos disks, as used by most games and demos.  But
  15. the  emulators required the Amiga software to be in uncompressed disk image
  16. format  (now  known as .ADF) or disk images compressed with gzip (ADZ).  To
  17. use  my  DMS  archives  in  the emulators I had to uncompress them with DMS
  18. inside  the  emulation,  saving  it as an uncompressed disk image in the PC
  19. hard  disk.   It  was  very  boring, and also a waste of time and hard disk
  20. space, since I could not let the files in the CDs.  I thought a much better
  21. solution  would  be  to  add  direct support for DMS files in the emulators
  22. itselves,  in  the same way as they support gzip compressed images.  But as
  23. DMS  uses  a  proprietary  format, I thought DMS support in the near future
  24. would  be unlikely.  So I decided to do something myself and began to study
  25. the  inner  workings  of  DMS.   After  some  days  of hard work, I wrote a
  26. portable  DMS  unpacker, xDMS.  xDMS is mainly intended for Amiga emulators
  27. users,  but can also be useful for actual Amiga users aswell.  In fact, the
  28. extract command of xDMS can be very useful to actual Amiga users, just need
  29. an update of readdisk.
  30.  
  31.  
  32.  
  33. xDMS Features:
  34. --------------
  35.  
  36.   Supports   decompression   of   files  compressed  using  all  known  DMS
  37. compression  modes,  including  old  and  obsolete ones, and also encrypted
  38. files, for 100% compatibility.
  39.   Can  test  DMS  files integrity, view file informations and show attached
  40. Banners and FILEID.DIZ .
  41.   Can generate standard disk images and compressed disk images, using gzip,
  42. if you want to store your files in ADF or ADZ formats.
  43.   Can  extract  the  files  contained  inside  the  DMS  archives,  if  the
  44. compressed disk is an AmigaDOS disk, using readdisk made by Bernd Schmidt.
  45.   Can  process  multiple files in batch with a single command, and also use
  46. stdin and stdout for input and output of data.
  47.  
  48.  
  49.  
  50. Instalation:
  51. ------------
  52.  
  53.   xDMS  was  written  in  ANSI  C  and  should work with most ANSI C or C++
  54. compilers  and  platforms  with  minor  or no changes.  It was tested under
  55. Linux  with  GCC,  MS-DOS  with DJGPP and Amiga with SAS/C and worked well,
  56. without  warnings.   To  compile it with GCC or DJGPP you can just use make
  57. with  the supplied Makefile.  For other compilers you may have to modify it
  58. slightly.   A  smakefile  for  SAS/C  is also supplied.  After a successful
  59. compilation  you  can  install  the  generated executable somewhere in your
  60. path.  You also need to install gzip and readdisk if you want to be able to
  61. create  gzip  compressed  disk  images and extract files from DMS.  gzip is
  62. available  in  most public domain software libraries.  Readdisk is supplied
  63. with  UAE.   You  probably  already  have  both.  Also, as I'm sendind this
  64. program  to  UAE  and  Fellow authors and allowing them (or anyone else) to
  65. include  it with their programs and change it in any way, perhaps xDMS just
  66. came  together  with  your emulator, and was installed with it and directly
  67. supported.  In this case you have nothing to worry.
  68.  
  69.  
  70.  
  71. Usage:
  72. ------
  73.  
  74.   xDMS  is  a  shell  utility  (yes, x is for extract, not XWindows).  When
  75. executed without arguments, it shows an usage screen.  The template of xDMS
  76. is the following:
  77.  
  78.     xdms [options] <command> {<dms_file[.dms]> [+output]}
  79.  
  80. Arguments inside [] are optional. Arguments inside <> are required.
  81. Arguments inside {} can be used one or several times.
  82.  
  83. A commmand is indicated by a letter and can be of of the following:
  84.  
  85.      t : Test DMS archives
  86.      u : Unpack DMS archives to disk images
  87.      z : Unpack to disk images and compress it with gzip
  88.      x : Extract files inside DMS archives using readdisk
  89.      v : View DMS archives information
  90.      f : View full information
  91.      d : Show attached FILEID.DIZ
  92.      b : Show attached Banner
  93.  
  94.  
  95.   If  the  supplied  input  DMS  file  name  doesn't  have  a  .DMS or .dms
  96. extension, a default .dms will be appended to it.
  97.   The  output argument is optional and specifies a file name or a directory
  98. for  the  unpacked  files.   If  the output filename is not supplied, it is
  99. generated  from  the  input  filename.  If the generated file is a standard
  100. disk  image  it  will have the .adf extension.  If it is a compressed image
  101. the  extension  will  be  .adz  .   If  you  supply an output file name, no
  102. extension  will  be  added.   By default, files are unpacked to the current
  103. directory,  unless  you specify another directory with the output file name
  104. our use the -d option.
  105.   Commands  z  and  x  respectively  need gzip and readdisk instaled in the
  106. current path, or it will fail.
  107.   When  extracting  files  with x option, xDMS will call readdisk that will
  108. reconstruct  the  tree  of  files  and directories contained inside the DMS
  109. compressed  disk  image,  starting in a directory with the same name as the
  110. volume  name  of  the  disk in the DMS file.  This command can fail if xDMS
  111. can't  execute  readdisk,  or if the dms compressed disk is not an AmigaDOS
  112. disk.  The current version of readdisk supplied with UAE 0.69 only supports
  113. old  OFS Kickstart 1.x compatible disks, reporting any of the newer formats
  114. introduced  with AmigaOS 2.0 or newer as non-dos disks, while they actually
  115. are.
  116.   The  v  commands  show  some  information  contained in DMS files, as the
  117. version  of  DMS  that  created it, the type of the disk, date of creation,
  118. number of tracks, etc.  The f command shows additional tracks information.
  119.   The  b command shows the banner, if the file contains one.  A banner is a
  120. text  that  is  displayed  when  DMS  unpacks  a  file and usually contains
  121. informations about the group/BBS/person that made it.
  122.   The  f  command  shows the FILEID.DIZ, if found in the DMS.  It is a text
  123. that identifies what the DMS file contains.
  124.   You can also supply as input filename stdin and/or +stdout as output.  in
  125. this case xDMS will read the data from the standard input and/or send it to
  126. the standard output.
  127.   You  can  supply  multiple  input  and optional output files and use wild
  128. cards.  All commands and options are not case sensitive.
  129.  
  130.  
  131. You can also supply one or more (or none) of the following options:
  132.  
  133.     -q : Quiet
  134.     -v : Verbose
  135.     -d <destdir>  : Set destination directory
  136.     -p <password> : Decrypt encrypted archives using password
  137.  
  138.  
  139.   When  more than one option is supplied they must be separated.  You can't
  140. use something like -qd dir .
  141.   The quiet option suppresses all messages usualy emited by xDMS, including
  142. error  messages.   It  is mostly to be used when xDMS is called from inside
  143. emulators  or  some  type  of  front-end.   The program that calls xDMS can
  144. verify  if  the  operation was successful checking the return code of xDMS.
  145. It  will be 0 if the operation was successful or not 0 if it failed for one
  146. or more files.
  147.   The  verbose option makes xDMS display more messages than it usualy does,
  148. including  a  progress  indicator  when unpacking files.  This indicator is
  149. only useful if you have a very slow computer.
  150.   The  -d  option specifies a global destination directory.  This directory
  151. name  is  added  before  the  name  of  any output file or output directory
  152. supplied with +output in the command line.
  153.   The  -p  option  uses  a  password  to  decrypt the dms files if they are
  154. encrypted.   DMS uses a very lame encryption algorithm that could be easyly
  155. cracked.  In fact, if the file is encrypted, and contains a banner, you can
  156. unpack it with any password.
  157.  
  158.  
  159. Some examples:
  160.  
  161.     xdms u foo.dms
  162.  
  163. This  will  unpack the file foo.dms in the current directory and save it as
  164. foo.adf, also in the current directory.
  165.  
  166.  
  167.     xdms -v -d /tmp/tst u foo +bar.dsk
  168.  
  169. This  will  unpack the file foo.dms in the current directory and save it as
  170. /tmp/tst/bar.dsk  .   Aditional  messages  and a prog